﻿using System;
using System.Collections.Generic;
using System.Text;

namespace QuickOpen.Framework
{
    /// <summary>
    /// Interface that describes a filterable item for quickopen.
    /// </summary>
    /// <example>This could be all files, images, references etc.</example>
    public interface IFilterableItem
    {
        /// <summary>
        /// The string that will be displayed in the Quickopen UI listbox
        /// </summary>
        string DisplayName { get; }
        /// <summary>
        /// The string that will be displayed when auto completing a filter
        /// </summary>
        string ShortName { get; }
        /// <summary>
        /// The string that will be displayed in the status bar when it is selected.
        /// </summary>
        string LongName { get; }
        /// <summary>
        /// The action to perform when the item is activated.
        /// </summary>
        /// <returns>A bool that states whether or not the action was performed successfully</returns>
        bool PerformAction();
    }
}
